package interfaces;

import bean.User;
import exceptions.AttributeNotRequirements;
import exceptions.CallNotAccepted;
import exceptions.CanNotAddYourself;
import exceptions.InvalidLogin;
import exceptions.InvalidPassword;
import exceptions.PersonNotFound;
import exceptions.SameUserLogin;
import exceptions.SizePassword;
import exceptions.UserIsAlreadyFriend;
import java.util.Date;

/**
 * @author Juliana Nóbrega - juliana@ffm.com.br
 */

public interface IFacade {

    void addUser(String login, String name, String password) throws SameUserLogin, InvalidLogin, SizePassword;
    void editProfile(String description, String hometown, String marital, Date birthday) throws AttributeNotRequirements, InvalidLogin, InvalidPassword;
    void accessSystem(String login, String senha) throws InvalidLogin, InvalidPassword;
    void addFriend(User user2) throws PersonNotFound, CallNotAccepted, UserIsAlreadyFriend, CanNotAddYourself;
    void removeFriend() throws PersonNotFound;
}
